package com.alstudio.utils.android.imageProcess;

/**
 * 图片处理参数配置类。通过本类可以设置源图片位置、输出图片位置、输出图片狂傲、裁剪图片设置
 * 
 * @author alonso lee
 * 
 */
public class ALImageProcessParams {

	// 获取图片的缺省宽度
	private final int DEFAULT_IMAGE_WIDTH = 480;
	// 获取图片的缺省高度
	private final int DEFAULT_IMAGE_HEIGHT = 480;

	// 是否需要哦对图片进行裁剪处理
	private boolean cropRequest = true;
	// 显示裁剪将跳转裁剪界面.设为false表示不需要。注意，只有当cropRequest为true时explicitCrop才有效
	private boolean explicitCrop = true;

	// 待处理图片的位置
	private String imagePath;
	// 输出图片位置
	private String savePath;
	// 请求图片的宽度
	private int requestWidth = DEFAULT_IMAGE_WIDTH;
	// 请求图片的高度
	private int requestHeight = DEFAULT_IMAGE_HEIGHT;

	/**
	 * 设置是否需要显示裁剪 只有当cropRequest为true时explicitCrop才有效
	 * 
	 * @param explicitCrop
	 *            true表示需要跳转图片裁剪界面
	 */
	public void setExplicitCrop(boolean explicitCrop) {
		this.explicitCrop = explicitCrop;
	}

	/**
	 * 检查是否需要跳转图片裁剪界面
	 * 
	 * @return
	 */
	public boolean isExplicitCrop() {
		return this.explicitCrop;
	}

	/**
	 * 设置源图片路径
	 * 
	 * @param path
	 */
	public void setImagePath(String path) {
		this.imagePath = path;
	}

	/**
	 * 获取源图片位置
	 * 
	 * @return
	 */
	public String getImagePath() {
		return this.imagePath;
	}

	/**
	 * 设置是否需要裁剪图片
	 * 
	 * @param cropRequest
	 *            true 需要裁剪图片
	 */
	public void setCropRequest(boolean cropRequest) {
		this.cropRequest = cropRequest;
	}

	/**
	 * 检测是否需要裁剪图片
	 * 
	 * @return
	 */
	public boolean getCropRequest() {
		return this.cropRequest;
	}

	/**
	 * 设置图片输出路径
	 * 
	 * @param path
	 */
	public void setSavePath(String path) {
		this.savePath = path;
	}

	/**
	 * 获取图片输出路径
	 * 
	 * @return
	 */
	public String getSavePath() {
		return this.savePath;
	}

	/**
	 * 设置输出图片的宽度
	 * 
	 * @param w
	 *            输出图片的宽度
	 */
	public void setRequestWidth(int w) {
		this.requestWidth = w;
	}

	/*
	 * 获取输出图片的宽度
	 */
	public int getRequestWidth() {
		return this.requestWidth;
	}

	/**
	 * 设置输出图片的高度
	 * 
	 * @param h
	 *            输出图片的高度
	 */
	public void setRequestHeight(int h) {
		this.requestHeight = h;
	}

	/**
	 * 获取输出图片的高度
	 * 
	 * @return 输出图片的高度
	 */
	public int getRequestHeight() {
		return this.requestHeight;
	}
}
